An important advantage of solid state drives (SSD) is their low maximum latencies in processing read and write operations over the performance of magnetic hard disk drives. However, SSDs may implement background operations that improve data integrity which trigger write and erase operations to non-volatile memory in the SSD. These background erase and write operations can increase latency, especially in read centric workloads.
Specifically, the host can experience latencies exposed from both write and erase operations to block erasable non-volatile memory, for example NAND, during read only workloads. Maximum NAND component write and erase latencies are more than an order of magnitude greater than maximum read latencies, and erase latencies are several times larger than write latencies. Thus, a read command following an erase command in the command queue in the SSD could experience a considerable increase in latency waiting for the erase operation to complete. Furthermore, the delta between maximum read and erase latencies continues to increase through NAND component generations. For instance, in a simple system where NAND commands are queued in order, if a host read targets a NAND component where a block erase operation has already started, the host will experience a read command latency that is equal to the latencies of a NAND read command plus a NAND erase command. For example, it is possible to have a maximum read latency on the order of 100 micro seconds (μs) and erase latency on the order of 10 milliseconds (ms). For a host that is sending only read commands-ignoring other latencies in the system, the host could see a worst case read command latency of 10.1 ms.
There is a need in the art for improved techniques for reducing the latency for read and write operations caused by erase operations.